package com.tedu.day02.oop;

/**
 * 继承产生问题【方法】
 * 重写:  什么情况下使用重写--->覆盖
 * 重载:  什么情况下使用重载--->拓展【增加功能: 根据不同需要找到对应的方法】
 * 重载定义规则:   继承关系---方法:  修饰符   返回值  方法名(参数不一致)
 *
 */
class Noodles{
    protected void box(){
        System.out.println("方便面");
    }
}
class Packing extends Noodles{
    //修饰符  返回值  方法名【一样】   | 参数不一致
     void box(String str){
        System.out.println("传统工艺:老坛酸菜面!");
    }
     void box(int i){
        System.out.println("国资工艺:康师傅牛肉面!");
    }
}
public class 继承问题3 {
  public static void main(String[] args){
      //测试: 重载---修饰符  返回值  方法名一致  参数不一致  根据参数调方法

      Packing p=new Packing();
      p.box();           //没有重写: 修饰符  返回值  方法名  参数完全一致
      p.box("老坛"); // 重载:  修饰符  返回值  方法名一致  参数不一致
      p.box(1);      //  重载:  修饰符  返回值  方法名一致  参数不一致
      //思考:  重写  存在修饰符访问权限问题  重载
      // 重载  修饰符  不受访问权限控制   父类大于子类
  }
}

